Use index, target, length to retrieve string from ROM
80026A64:	ADDIU	SP,SP,0xFFE0
80026A68:	SW	S0,0x0018(SP)	#S0, at this point, is offset from base codeword
80026A6C:	OR	S0,A0,R0		#S0=A0; A0=SP+50
80026A70:	SW	RA,0x001C(SP)
80026A74:	LUI	T6,0x8011
80026A78:	ADDIU	T6,T6,0xEFB0	T6=8010EFB0
80026A7C:	LW	T7,0x0000(T6)	T7=0 for this index value
80026A80:	SLTI	AT,T7,0x0002	AT=value<2
80026A84:	BNEL	AT,R0,80026A98
80026A88:	SW	A2,0x0000(S0)	index#->SP+50
80026A8C:	BEQ	R0,R0,80026B30
80026A90:	ADDIU	V0,R0,0xFFFE	V0=-2
//prepare to load data to memory
80026A94:	SW	A2,0x0000(S0)	save codeword
80026A98:	SW	A1,0x0004(S0)	save target	#process
80026A9C:	SW	A3,0x0008(S0)	save length
80026AA0:	SW	R0,0x0014(S0)
80026AA4:	LW	T8,0x0034(SP)	address for values saved by 80034D60
80026AA8:	LUI	T0,0x8000
80026AAC:	ADDU	T1,A1,A3		;T1=start+length; end address
80026AB0:	SW	T8,0x0018(S0)
80026AB4:	LW	T9,0x0038(SP)
80026AB8:	OR	A0,S0,R0		;A0=S0=SP+50
80026ABC:	BEQ	A1,R0,80026B00	;skip if A1! valid pointer
80026AC0:	SW	T9,0x001C(S0)
80026AC4:	LW	T0,0x0318(T0)	;T0=80000318: 4MB RDRAM limit 
80026AC8:	LUI	AT,0x8000
80026ACC:	ADDU	T2,T1,AT		;T2=pointer converted to RDRAM target offset
80026AD0:	SLTU	AT,T0,T2		;true if you overrun memory
80026AD4:	BNEZ	AT,0x80026B00
80026AD8:	ANDI	T3,A2,0x0001	;bit 1 can't be set-would throw exception
80026ADC:	BNEZ	T3,0x80026B00
80026AE0:	LUI	AT,0x0400
80026AE4:	ORI	AT,AT,0x0001	;AT=04000001
80026AE8:	SLTU	AT,A2,AT
80026AEC:	BEQ	AT,R0,80026B00	;codeword should be < 04000001
80026AF0:	NOP
80026AF4:	BEQ	A3,R0,80026B00	;bail if length=0
80026AF8:	ANDI	T4,A3,0x0001
80026AFC:	BEQ	T4,R0,80026B18	;branch when length a multiple of 2
//80026B00:	do this when there's an issue...
LUI	A2,0x8004
LUI	A3,0x8004
ADDIU	A3,A3,0xD3C8	;A3=8003D3C8 dma message in japanese
ADDIU	A2,A2,0xD3AC	;A2=8003D3AC "ILLEGAL DMA-FUNCTION CALL"
JAL	0x800263F0
OR	A1,R0,R0
//80026B18:	pull the thing already!
LUI	A0,0x8004	
ADDIU	A0,A0,0xFF60	;A0=8003FF60: pointer to value at 8003FFF8, same as following
OR	A1,S0,R0		;A1=SP+50
JAL	0x8002DB20
ADDIU	A2,R0,0x0001	;A2=1
OR	V0,R0,R0
//80026B30:	Bail!
LW	RA,0x001C (SP)
LW	S0,0x0018(SP)
ADDIU	SP,SP,0x0020
JR	RA
NOP
